package com.ourteam.product.requirement.dao;

/**
 * Template Name : DAO数据对象
 * Template Version : 1
 * Template Last Modfiy Date : Fri Aug 18 15:51:23 CST 2017
 * Auto Generate Date : 2018-05-03 16:45:18
  * Warning ! This file will be overwrite when regenerate !
  *
 */
import org.apache.commons.lang.StringUtils;


public class ProductRequirementFeatureRelate implements java.io.Serializable {
    private long id;

    /**
     * Attribute id Be Seted Falg
     */
    private boolean idSetted = false;

    /**
    * Attribute id is Null Falg
    */
    private boolean idNull = false;
    private long productRequirementId;

    /**
     * Attribute productRequirementId Be Seted Falg
     */
    private boolean productRequirementIdSetted = false;

    /**
    * Attribute productRequirementId is Null Falg
    */
    private boolean productRequirementIdNull = false;
    private long productFeatureId;

    /**
     * Attribute productFeatureId Be Seted Falg
     */
    private boolean productFeatureIdSetted = false;

    /**
    * Attribute productFeatureId is Null Falg
    */
    private boolean productFeatureIdNull = false;
    private String status;

    /**
     * Attribute status Be Seted Falg
     */
    private boolean statusSetted = false;

    /**
    * Attribute status is Null Falg
    */
    private boolean statusNull = false;
    private String remarks;

    /**
     * Attribute remarks Be Seted Falg
     */
    private boolean remarksSetted = false;

    /**
    * Attribute remarks is Null Falg
    */
    private boolean remarksNull = false;
    private long productRequirementVersionId;

    /**
     * Attribute productRequirementVersionId Be Seted Falg
     */
    private boolean productRequirementVersionIdSetted = false;

    /**
    * Attribute productRequirementVersionId is Null Falg
    */
    private boolean productRequirementVersionIdNull = false;
    private long productFeatureVersionId;

    /**
     * Attribute productFeatureVersionId Be Seted Falg
     */
    private boolean productFeatureVersionIdSetted = false;

    /**
    * Attribute productFeatureVersionId is Null Falg
    */
    private boolean productFeatureVersionIdNull = false;
    private String productRequirementVersion;

    /**
     * Attribute productRequirementVersion Be Seted Falg
     */
    private boolean productRequirementVersionSetted = false;

    /**
    * Attribute productRequirementVersion is Null Falg
    */
    private boolean productRequirementVersionNull = false;
    private String productRequirementVersionType;

    /**
     * Attribute productRequirementVersionType Be Seted Falg
     */
    private boolean productRequirementVersionTypeSetted = false;

    /**
    * Attribute productRequirementVersionType is Null Falg
    */
    private boolean productRequirementVersionTypeNull = false;
    private String productRequirementVersionStatus;

    /**
     * Attribute productRequirementVersionStatus Be Seted Falg
     */
    private boolean productRequirementVersionStatusSetted = false;

    /**
    * Attribute productRequirementVersionStatus is Null Falg
    */
    private boolean productRequirementVersionStatusNull = false;
    private String productFeatureVersion;

    /**
     * Attribute productFeatureVersion Be Seted Falg
     */
    private boolean productFeatureVersionSetted = false;

    /**
    * Attribute productFeatureVersion is Null Falg
    */
    private boolean productFeatureVersionNull = false;
    private String productFeatureVersionType;

    /**
     * Attribute productFeatureVersionType Be Seted Falg
     */
    private boolean productFeatureVersionTypeSetted = false;

    /**
    * Attribute productFeatureVersionType is Null Falg
    */
    private boolean productFeatureVersionTypeNull = false;
    private String productFeatureVersionStatus;

    /**
     * Attribute productFeatureVersionStatus Be Seted Falg
     */
    private boolean productFeatureVersionStatusSetted = false;

    /**
    * Attribute productFeatureVersionStatus is Null Falg
    */
    private boolean productFeatureVersionStatusNull = false;
    private String productRequirementCode;

    /**
     * Attribute productRequirementCode Be Seted Falg
     */
    private boolean productRequirementCodeSetted = false;

    /**
    * Attribute productRequirementCode is Null Falg
    */
    private boolean productRequirementCodeNull = false;
    private String productRequirementName;

    /**
     * Attribute productRequirementName Be Seted Falg
     */
    private boolean productRequirementNameSetted = false;

    /**
    * Attribute productRequirementName is Null Falg
    */
    private boolean productRequirementNameNull = false;
    private String productRequirementContent;

    /**
     * Attribute productRequirementContent Be Seted Falg
     */
    private boolean productRequirementContentSetted = false;

    /**
    * Attribute productRequirementContent is Null Falg
    */
    private boolean productRequirementContentNull = false;
    private String productRequirementType;

    /**
     * Attribute productRequirementType Be Seted Falg
     */
    private boolean productRequirementTypeSetted = false;

    /**
    * Attribute productRequirementType is Null Falg
    */
    private boolean productRequirementTypeNull = false;
    private String productRequirementLevel;

    /**
     * Attribute productRequirementLevel Be Seted Falg
     */
    private boolean productRequirementLevelSetted = false;

    /**
    * Attribute productRequirementLevel is Null Falg
    */
    private boolean productRequirementLevelNull = false;
    private String productRequirementKind;

    /**
     * Attribute productRequirementKind Be Seted Falg
     */
    private boolean productRequirementKindSetted = false;

    /**
    * Attribute productRequirementKind is Null Falg
    */
    private boolean productRequirementKindNull = false;
    private String productRequirementSource;

    /**
     * Attribute productRequirementSource Be Seted Falg
     */
    private boolean productRequirementSourceSetted = false;

    /**
    * Attribute productRequirementSource is Null Falg
    */
    private boolean productRequirementSourceNull = false;
    private String productFeatureCode;

    /**
     * Attribute productFeatureCode Be Seted Falg
     */
    private boolean productFeatureCodeSetted = false;

    /**
    * Attribute productFeatureCode is Null Falg
    */
    private boolean productFeatureCodeNull = false;
    private String productFeatureName;

    /**
     * Attribute productFeatureName Be Seted Falg
     */
    private boolean productFeatureNameSetted = false;

    /**
    * Attribute productFeatureName is Null Falg
    */
    private boolean productFeatureNameNull = false;
    private String productFeatureCanTest;

    /**
     * Attribute productFeatureCanTest Be Seted Falg
     */
    private boolean productFeatureCanTestSetted = false;

    /**
    * Attribute productFeatureCanTest is Null Falg
    */
    private boolean productFeatureCanTestNull = false;
    private String productFeatureIsKeyFeature;

    /**
     * Attribute productFeatureIsKeyFeature Be Seted Falg
     */
    private boolean productFeatureIsKeyFeatureSetted = false;

    /**
    * Attribute productFeatureIsKeyFeature is Null Falg
    */
    private boolean productFeatureIsKeyFeatureNull = false;

    public ProductRequirementFeatureRelate() {
        super();
    }

    /**
         * Get id
         *
         * @return long
         */
    final public long getId() {
        return id;
    }

    /**
     * Set id
     *
     * @param long
     */
    final public void setId(long id) {
        this.id = id;

        this.idSetted = true;

        this.setIdNull(false);
    }

    /**
     * Get id Has Been Setted
     *
     * @return boolean
     */
    final public boolean isIdSetted() {
        return this.idSetted;
    }

    /**
     * Set id Null
     *
     */
    final public void setIdNull() {
        this.idNull = true;
    }

    final public void setIdNull(boolean aNullFlag) {
        this.idNull = aNullFlag;
    }

    final public boolean isIdNull() {
        return this.idNull;
    }

    /**
         * Get productRequirementId
         *
         * @return long
         */
    final public long getProductRequirementId() {
        return productRequirementId;
    }

    /**
     * Set productRequirementId
     *
     * @param long
     */
    final public void setProductRequirementId(long productRequirementId) {
        this.productRequirementId = productRequirementId;

        this.productRequirementIdSetted = true;

        this.setProductRequirementIdNull(false);
    }

    /**
     * Get productRequirementId Has Been Setted
     *
     * @return boolean
     */
    final public boolean isProductRequirementIdSetted() {
        return this.productRequirementIdSetted;
    }

    /**
     * Set productRequirementId Null
     *
     */
    final public void setProductRequirementIdNull() {
        this.productRequirementIdNull = true;
    }

    final public void setProductRequirementIdNull(boolean aNullFlag) {
        this.productRequirementIdNull = aNullFlag;
    }

    final public boolean isProductRequirementIdNull() {
        return this.productRequirementIdNull;
    }

    /**
         * Get productFeatureId
         *
         * @return long
         */
    final public long getProductFeatureId() {
        return productFeatureId;
    }

    /**
     * Set productFeatureId
     *
     * @param long
     */
    final public void setProductFeatureId(long productFeatureId) {
        this.productFeatureId = productFeatureId;

        this.productFeatureIdSetted = true;

        this.setProductFeatureIdNull(false);
    }

    /**
     * Get productFeatureId Has Been Setted
     *
     * @return boolean
     */
    final public boolean isProductFeatureIdSetted() {
        return this.productFeatureIdSetted;
    }

    /**
     * Set productFeatureId Null
     *
     */
    final public void setProductFeatureIdNull() {
        this.productFeatureIdNull = true;
    }

    final public void setProductFeatureIdNull(boolean aNullFlag) {
        this.productFeatureIdNull = aNullFlag;
    }

    final public boolean isProductFeatureIdNull() {
        return this.productFeatureIdNull;
    }

    /**
         * Get status
         *
         * @return String
         */
    final public String getStatus() {
        if (isStatusNull()) {
            return null;
        } else {
            return StringUtils.trim(status);
        }
    }

    /**
     * Set status
     *
     * @param String
     */
    final public void setStatus(String status) {
        this.status = StringUtils.trim(status);

        this.statusSetted = true;

        this.setStatusNull(this.status == null);
    }

    /**
     * Get status Has Been Setted
     *
     * @return boolean
     */
    final public boolean isStatusSetted() {
        return this.statusSetted;
    }

    /**
     * Set status Null
     *
     */
    final public void setStatusNull() {
        this.statusNull = true;
    }

    final public void setStatusNull(boolean aNullFlag) {
        this.statusNull = aNullFlag;
    }

    final public boolean isStatusNull() {
        return this.statusNull;
    }

    /**
         * Get remarks
         *
         * @return String
         */
    final public String getRemarks() {
        if (isRemarksNull()) {
            return null;
        } else {
            return StringUtils.trim(remarks);
        }
    }

    /**
     * Set remarks
     *
     * @param String
     */
    final public void setRemarks(String remarks) {
        this.remarks = StringUtils.trim(remarks);

        this.remarksSetted = true;

        this.setRemarksNull(this.remarks == null);
    }

    /**
     * Get remarks Has Been Setted
     *
     * @return boolean
     */
    final public boolean isRemarksSetted() {
        return this.remarksSetted;
    }

    /**
     * Set remarks Null
     *
     */
    final public void setRemarksNull() {
        this.remarksNull = true;
    }

    final public void setRemarksNull(boolean aNullFlag) {
        this.remarksNull = aNullFlag;
    }

    final public boolean isRemarksNull() {
        return this.remarksNull;
    }

    /**
         * Get productRequirementVersionId
         *
         * @return long
         */
    final public long getProductRequirementVersionId() {
        return productRequirementVersionId;
    }

    /**
     * Set productRequirementVersionId
     *
     * @param long
     */
    final public void setProductRequirementVersionId(
        long productRequirementVersionId) {
        this.productRequirementVersionId = productRequirementVersionId;

        this.productRequirementVersionIdSetted = true;

        this.setProductRequirementVersionIdNull(false);
    }

    /**
     * Get productRequirementVersionId Has Been Setted
     *
     * @return boolean
     */
    final public boolean isProductRequirementVersionIdSetted() {
        return this.productRequirementVersionIdSetted;
    }

    /**
     * Set productRequirementVersionId Null
     *
     */
    final public void setProductRequirementVersionIdNull() {
        this.productRequirementVersionIdNull = true;
    }

    final public void setProductRequirementVersionIdNull(boolean aNullFlag) {
        this.productRequirementVersionIdNull = aNullFlag;
    }

    final public boolean isProductRequirementVersionIdNull() {
        return this.productRequirementVersionIdNull;
    }

    /**
         * Get productFeatureVersionId
         *
         * @return long
         */
    final public long getProductFeatureVersionId() {
        return productFeatureVersionId;
    }

    /**
     * Set productFeatureVersionId
     *
     * @param long
     */
    final public void setProductFeatureVersionId(long productFeatureVersionId) {
        this.productFeatureVersionId = productFeatureVersionId;

        this.productFeatureVersionIdSetted = true;

        this.setProductFeatureVersionIdNull(false);
    }

    /**
     * Get productFeatureVersionId Has Been Setted
     *
     * @return boolean
     */
    final public boolean isProductFeatureVersionIdSetted() {
        return this.productFeatureVersionIdSetted;
    }

    /**
     * Set productFeatureVersionId Null
     *
     */
    final public void setProductFeatureVersionIdNull() {
        this.productFeatureVersionIdNull = true;
    }

    final public void setProductFeatureVersionIdNull(boolean aNullFlag) {
        this.productFeatureVersionIdNull = aNullFlag;
    }

    final public boolean isProductFeatureVersionIdNull() {
        return this.productFeatureVersionIdNull;
    }

    /**
         * Get productRequirementVersion
         *
         * @return String
         */
    final public String getProductRequirementVersion() {
        if (isProductRequirementVersionNull()) {
            return null;
        } else {
            return StringUtils.trim(productRequirementVersion);
        }
    }

    /**
     * Set productRequirementVersion
     *
     * @param String
     */
    final public void setProductRequirementVersion(
        String productRequirementVersion) {
        this.productRequirementVersion = StringUtils.trim(productRequirementVersion);

        this.productRequirementVersionSetted = true;

        this.setProductRequirementVersionNull(this.productRequirementVersion == null);
    }

    /**
     * Get productRequirementVersion Has Been Setted
     *
     * @return boolean
     */
    final public boolean isProductRequirementVersionSetted() {
        return this.productRequirementVersionSetted;
    }

    /**
     * Set productRequirementVersion Null
     *
     */
    final public void setProductRequirementVersionNull() {
        this.productRequirementVersionNull = true;
    }

    final public void setProductRequirementVersionNull(boolean aNullFlag) {
        this.productRequirementVersionNull = aNullFlag;
    }

    final public boolean isProductRequirementVersionNull() {
        return this.productRequirementVersionNull;
    }

    /**
         * Get productRequirementVersionType
         *
         * @return String
         */
    final public String getProductRequirementVersionType() {
        if (isProductRequirementVersionTypeNull()) {
            return null;
        } else {
            return StringUtils.trim(productRequirementVersionType);
        }
    }

    /**
     * Set productRequirementVersionType
     *
     * @param String
     */
    final public void setProductRequirementVersionType(
        String productRequirementVersionType) {
        this.productRequirementVersionType = StringUtils.trim(productRequirementVersionType);

        this.productRequirementVersionTypeSetted = true;

        this.setProductRequirementVersionTypeNull(this.productRequirementVersionType == null);
    }

    /**
     * Get productRequirementVersionType Has Been Setted
     *
     * @return boolean
     */
    final public boolean isProductRequirementVersionTypeSetted() {
        return this.productRequirementVersionTypeSetted;
    }

    /**
     * Set productRequirementVersionType Null
     *
     */
    final public void setProductRequirementVersionTypeNull() {
        this.productRequirementVersionTypeNull = true;
    }

    final public void setProductRequirementVersionTypeNull(boolean aNullFlag) {
        this.productRequirementVersionTypeNull = aNullFlag;
    }

    final public boolean isProductRequirementVersionTypeNull() {
        return this.productRequirementVersionTypeNull;
    }

    /**
         * Get productRequirementVersionStatus
         *
         * @return String
         */
    final public String getProductRequirementVersionStatus() {
        if (isProductRequirementVersionStatusNull()) {
            return null;
        } else {
            return StringUtils.trim(productRequirementVersionStatus);
        }
    }

    /**
     * Set productRequirementVersionStatus
     *
     * @param String
     */
    final public void setProductRequirementVersionStatus(
        String productRequirementVersionStatus) {
        this.productRequirementVersionStatus = StringUtils.trim(productRequirementVersionStatus);

        this.productRequirementVersionStatusSetted = true;

        this.setProductRequirementVersionStatusNull(this.productRequirementVersionStatus == null);
    }

    /**
     * Get productRequirementVersionStatus Has Been Setted
     *
     * @return boolean
     */
    final public boolean isProductRequirementVersionStatusSetted() {
        return this.productRequirementVersionStatusSetted;
    }

    /**
     * Set productRequirementVersionStatus Null
     *
     */
    final public void setProductRequirementVersionStatusNull() {
        this.productRequirementVersionStatusNull = true;
    }

    final public void setProductRequirementVersionStatusNull(boolean aNullFlag) {
        this.productRequirementVersionStatusNull = aNullFlag;
    }

    final public boolean isProductRequirementVersionStatusNull() {
        return this.productRequirementVersionStatusNull;
    }

    /**
         * Get productFeatureVersion
         *
         * @return String
         */
    final public String getProductFeatureVersion() {
        if (isProductFeatureVersionNull()) {
            return null;
        } else {
            return StringUtils.trim(productFeatureVersion);
        }
    }

    /**
     * Set productFeatureVersion
     *
     * @param String
     */
    final public void setProductFeatureVersion(String productFeatureVersion) {
        this.productFeatureVersion = StringUtils.trim(productFeatureVersion);

        this.productFeatureVersionSetted = true;

        this.setProductFeatureVersionNull(this.productFeatureVersion == null);
    }

    /**
     * Get productFeatureVersion Has Been Setted
     *
     * @return boolean
     */
    final public boolean isProductFeatureVersionSetted() {
        return this.productFeatureVersionSetted;
    }

    /**
     * Set productFeatureVersion Null
     *
     */
    final public void setProductFeatureVersionNull() {
        this.productFeatureVersionNull = true;
    }

    final public void setProductFeatureVersionNull(boolean aNullFlag) {
        this.productFeatureVersionNull = aNullFlag;
    }

    final public boolean isProductFeatureVersionNull() {
        return this.productFeatureVersionNull;
    }

    /**
         * Get productFeatureVersionType
         *
         * @return String
         */
    final public String getProductFeatureVersionType() {
        if (isProductFeatureVersionTypeNull()) {
            return null;
        } else {
            return StringUtils.trim(productFeatureVersionType);
        }
    }

    /**
     * Set productFeatureVersionType
     *
     * @param String
     */
    final public void setProductFeatureVersionType(
        String productFeatureVersionType) {
        this.productFeatureVersionType = StringUtils.trim(productFeatureVersionType);

        this.productFeatureVersionTypeSetted = true;

        this.setProductFeatureVersionTypeNull(this.productFeatureVersionType == null);
    }

    /**
     * Get productFeatureVersionType Has Been Setted
     *
     * @return boolean
     */
    final public boolean isProductFeatureVersionTypeSetted() {
        return this.productFeatureVersionTypeSetted;
    }

    /**
     * Set productFeatureVersionType Null
     *
     */
    final public void setProductFeatureVersionTypeNull() {
        this.productFeatureVersionTypeNull = true;
    }

    final public void setProductFeatureVersionTypeNull(boolean aNullFlag) {
        this.productFeatureVersionTypeNull = aNullFlag;
    }

    final public boolean isProductFeatureVersionTypeNull() {
        return this.productFeatureVersionTypeNull;
    }

    /**
         * Get productFeatureVersionStatus
         *
         * @return String
         */
    final public String getProductFeatureVersionStatus() {
        if (isProductFeatureVersionStatusNull()) {
            return null;
        } else {
            return StringUtils.trim(productFeatureVersionStatus);
        }
    }

    /**
     * Set productFeatureVersionStatus
     *
     * @param String
     */
    final public void setProductFeatureVersionStatus(
        String productFeatureVersionStatus) {
        this.productFeatureVersionStatus = StringUtils.trim(productFeatureVersionStatus);

        this.productFeatureVersionStatusSetted = true;

        this.setProductFeatureVersionStatusNull(this.productFeatureVersionStatus == null);
    }

    /**
     * Get productFeatureVersionStatus Has Been Setted
     *
     * @return boolean
     */
    final public boolean isProductFeatureVersionStatusSetted() {
        return this.productFeatureVersionStatusSetted;
    }

    /**
     * Set productFeatureVersionStatus Null
     *
     */
    final public void setProductFeatureVersionStatusNull() {
        this.productFeatureVersionStatusNull = true;
    }

    final public void setProductFeatureVersionStatusNull(boolean aNullFlag) {
        this.productFeatureVersionStatusNull = aNullFlag;
    }

    final public boolean isProductFeatureVersionStatusNull() {
        return this.productFeatureVersionStatusNull;
    }

    /**
         * Get productRequirementCode
         *
         * @return String
         */
    final public String getProductRequirementCode() {
        if (isProductRequirementCodeNull()) {
            return null;
        } else {
            return StringUtils.trim(productRequirementCode);
        }
    }

    /**
     * Set productRequirementCode
     *
     * @param String
     */
    final public void setProductRequirementCode(String productRequirementCode) {
        this.productRequirementCode = StringUtils.trim(productRequirementCode);

        this.productRequirementCodeSetted = true;

        this.setProductRequirementCodeNull(this.productRequirementCode == null);
    }

    /**
     * Get productRequirementCode Has Been Setted
     *
     * @return boolean
     */
    final public boolean isProductRequirementCodeSetted() {
        return this.productRequirementCodeSetted;
    }

    /**
     * Set productRequirementCode Null
     *
     */
    final public void setProductRequirementCodeNull() {
        this.productRequirementCodeNull = true;
    }

    final public void setProductRequirementCodeNull(boolean aNullFlag) {
        this.productRequirementCodeNull = aNullFlag;
    }

    final public boolean isProductRequirementCodeNull() {
        return this.productRequirementCodeNull;
    }

    /**
         * Get productRequirementName
         *
         * @return String
         */
    final public String getProductRequirementName() {
        if (isProductRequirementNameNull()) {
            return null;
        } else {
            return StringUtils.trim(productRequirementName);
        }
    }

    /**
     * Set productRequirementName
     *
     * @param String
     */
    final public void setProductRequirementName(String productRequirementName) {
        this.productRequirementName = StringUtils.trim(productRequirementName);

        this.productRequirementNameSetted = true;

        this.setProductRequirementNameNull(this.productRequirementName == null);
    }

    /**
     * Get productRequirementName Has Been Setted
     *
     * @return boolean
     */
    final public boolean isProductRequirementNameSetted() {
        return this.productRequirementNameSetted;
    }

    /**
     * Set productRequirementName Null
     *
     */
    final public void setProductRequirementNameNull() {
        this.productRequirementNameNull = true;
    }

    final public void setProductRequirementNameNull(boolean aNullFlag) {
        this.productRequirementNameNull = aNullFlag;
    }

    final public boolean isProductRequirementNameNull() {
        return this.productRequirementNameNull;
    }

    /**
         * Get productRequirementContent
         *
         * @return String
         */
    final public String getProductRequirementContent() {
        if (isProductRequirementContentNull()) {
            return null;
        } else {
            return StringUtils.trim(productRequirementContent);
        }
    }

    /**
     * Set productRequirementContent
     *
     * @param String
     */
    final public void setProductRequirementContent(
        String productRequirementContent) {
        this.productRequirementContent = StringUtils.trim(productRequirementContent);

        this.productRequirementContentSetted = true;

        this.setProductRequirementContentNull(this.productRequirementContent == null);
    }

    /**
     * Get productRequirementContent Has Been Setted
     *
     * @return boolean
     */
    final public boolean isProductRequirementContentSetted() {
        return this.productRequirementContentSetted;
    }

    /**
     * Set productRequirementContent Null
     *
     */
    final public void setProductRequirementContentNull() {
        this.productRequirementContentNull = true;
    }

    final public void setProductRequirementContentNull(boolean aNullFlag) {
        this.productRequirementContentNull = aNullFlag;
    }

    final public boolean isProductRequirementContentNull() {
        return this.productRequirementContentNull;
    }

    /**
         * Get productRequirementType
         *
         * @return String
         */
    final public String getProductRequirementType() {
        if (isProductRequirementTypeNull()) {
            return null;
        } else {
            return StringUtils.trim(productRequirementType);
        }
    }

    /**
     * Set productRequirementType
     *
     * @param String
     */
    final public void setProductRequirementType(String productRequirementType) {
        this.productRequirementType = StringUtils.trim(productRequirementType);

        this.productRequirementTypeSetted = true;

        this.setProductRequirementTypeNull(this.productRequirementType == null);
    }

    /**
     * Get productRequirementType Has Been Setted
     *
     * @return boolean
     */
    final public boolean isProductRequirementTypeSetted() {
        return this.productRequirementTypeSetted;
    }

    /**
     * Set productRequirementType Null
     *
     */
    final public void setProductRequirementTypeNull() {
        this.productRequirementTypeNull = true;
    }

    final public void setProductRequirementTypeNull(boolean aNullFlag) {
        this.productRequirementTypeNull = aNullFlag;
    }

    final public boolean isProductRequirementTypeNull() {
        return this.productRequirementTypeNull;
    }

    /**
         * Get productRequirementLevel
         *
         * @return String
         */
    final public String getProductRequirementLevel() {
        if (isProductRequirementLevelNull()) {
            return null;
        } else {
            return StringUtils.trim(productRequirementLevel);
        }
    }

    /**
     * Set productRequirementLevel
     *
     * @param String
     */
    final public void setProductRequirementLevel(String productRequirementLevel) {
        this.productRequirementLevel = StringUtils.trim(productRequirementLevel);

        this.productRequirementLevelSetted = true;

        this.setProductRequirementLevelNull(this.productRequirementLevel == null);
    }

    /**
     * Get productRequirementLevel Has Been Setted
     *
     * @return boolean
     */
    final public boolean isProductRequirementLevelSetted() {
        return this.productRequirementLevelSetted;
    }

    /**
     * Set productRequirementLevel Null
     *
     */
    final public void setProductRequirementLevelNull() {
        this.productRequirementLevelNull = true;
    }

    final public void setProductRequirementLevelNull(boolean aNullFlag) {
        this.productRequirementLevelNull = aNullFlag;
    }

    final public boolean isProductRequirementLevelNull() {
        return this.productRequirementLevelNull;
    }

    /**
         * Get productRequirementKind
         *
         * @return String
         */
    final public String getProductRequirementKind() {
        if (isProductRequirementKindNull()) {
            return null;
        } else {
            return StringUtils.trim(productRequirementKind);
        }
    }

    /**
     * Set productRequirementKind
     *
     * @param String
     */
    final public void setProductRequirementKind(String productRequirementKind) {
        this.productRequirementKind = StringUtils.trim(productRequirementKind);

        this.productRequirementKindSetted = true;

        this.setProductRequirementKindNull(this.productRequirementKind == null);
    }

    /**
     * Get productRequirementKind Has Been Setted
     *
     * @return boolean
     */
    final public boolean isProductRequirementKindSetted() {
        return this.productRequirementKindSetted;
    }

    /**
     * Set productRequirementKind Null
     *
     */
    final public void setProductRequirementKindNull() {
        this.productRequirementKindNull = true;
    }

    final public void setProductRequirementKindNull(boolean aNullFlag) {
        this.productRequirementKindNull = aNullFlag;
    }

    final public boolean isProductRequirementKindNull() {
        return this.productRequirementKindNull;
    }

    /**
         * Get productRequirementSource
         *
         * @return String
         */
    final public String getProductRequirementSource() {
        if (isProductRequirementSourceNull()) {
            return null;
        } else {
            return StringUtils.trim(productRequirementSource);
        }
    }

    /**
     * Set productRequirementSource
     *
     * @param String
     */
    final public void setProductRequirementSource(
        String productRequirementSource) {
        this.productRequirementSource = StringUtils.trim(productRequirementSource);

        this.productRequirementSourceSetted = true;

        this.setProductRequirementSourceNull(this.productRequirementSource == null);
    }

    /**
     * Get productRequirementSource Has Been Setted
     *
     * @return boolean
     */
    final public boolean isProductRequirementSourceSetted() {
        return this.productRequirementSourceSetted;
    }

    /**
     * Set productRequirementSource Null
     *
     */
    final public void setProductRequirementSourceNull() {
        this.productRequirementSourceNull = true;
    }

    final public void setProductRequirementSourceNull(boolean aNullFlag) {
        this.productRequirementSourceNull = aNullFlag;
    }

    final public boolean isProductRequirementSourceNull() {
        return this.productRequirementSourceNull;
    }

    /**
         * Get productFeatureCode
         *
         * @return String
         */
    final public String getProductFeatureCode() {
        if (isProductFeatureCodeNull()) {
            return null;
        } else {
            return StringUtils.trim(productFeatureCode);
        }
    }

    /**
     * Set productFeatureCode
     *
     * @param String
     */
    final public void setProductFeatureCode(String productFeatureCode) {
        this.productFeatureCode = StringUtils.trim(productFeatureCode);

        this.productFeatureCodeSetted = true;

        this.setProductFeatureCodeNull(this.productFeatureCode == null);
    }

    /**
     * Get productFeatureCode Has Been Setted
     *
     * @return boolean
     */
    final public boolean isProductFeatureCodeSetted() {
        return this.productFeatureCodeSetted;
    }

    /**
     * Set productFeatureCode Null
     *
     */
    final public void setProductFeatureCodeNull() {
        this.productFeatureCodeNull = true;
    }

    final public void setProductFeatureCodeNull(boolean aNullFlag) {
        this.productFeatureCodeNull = aNullFlag;
    }

    final public boolean isProductFeatureCodeNull() {
        return this.productFeatureCodeNull;
    }

    /**
         * Get productFeatureName
         *
         * @return String
         */
    final public String getProductFeatureName() {
        if (isProductFeatureNameNull()) {
            return null;
        } else {
            return StringUtils.trim(productFeatureName);
        }
    }

    /**
     * Set productFeatureName
     *
     * @param String
     */
    final public void setProductFeatureName(String productFeatureName) {
        this.productFeatureName = StringUtils.trim(productFeatureName);

        this.productFeatureNameSetted = true;

        this.setProductFeatureNameNull(this.productFeatureName == null);
    }

    /**
     * Get productFeatureName Has Been Setted
     *
     * @return boolean
     */
    final public boolean isProductFeatureNameSetted() {
        return this.productFeatureNameSetted;
    }

    /**
     * Set productFeatureName Null
     *
     */
    final public void setProductFeatureNameNull() {
        this.productFeatureNameNull = true;
    }

    final public void setProductFeatureNameNull(boolean aNullFlag) {
        this.productFeatureNameNull = aNullFlag;
    }

    final public boolean isProductFeatureNameNull() {
        return this.productFeatureNameNull;
    }

    /**
         * Get productFeatureCanTest
         *
         * @return String
         */
    final public String getProductFeatureCanTest() {
        if (isProductFeatureCanTestNull()) {
            return null;
        } else {
            return StringUtils.trim(productFeatureCanTest);
        }
    }

    /**
     * Set productFeatureCanTest
     *
     * @param String
     */
    final public void setProductFeatureCanTest(String productFeatureCanTest) {
        this.productFeatureCanTest = StringUtils.trim(productFeatureCanTest);

        this.productFeatureCanTestSetted = true;

        this.setProductFeatureCanTestNull(this.productFeatureCanTest == null);
    }

    /**
     * Get productFeatureCanTest Has Been Setted
     *
     * @return boolean
     */
    final public boolean isProductFeatureCanTestSetted() {
        return this.productFeatureCanTestSetted;
    }

    /**
     * Set productFeatureCanTest Null
     *
     */
    final public void setProductFeatureCanTestNull() {
        this.productFeatureCanTestNull = true;
    }

    final public void setProductFeatureCanTestNull(boolean aNullFlag) {
        this.productFeatureCanTestNull = aNullFlag;
    }

    final public boolean isProductFeatureCanTestNull() {
        return this.productFeatureCanTestNull;
    }

    /**
         * Get productFeatureIsKeyFeature
         *
         * @return String
         */
    final public String getProductFeatureIsKeyFeature() {
        if (isProductFeatureIsKeyFeatureNull()) {
            return null;
        } else {
            return StringUtils.trim(productFeatureIsKeyFeature);
        }
    }

    /**
     * Set productFeatureIsKeyFeature
     *
     * @param String
     */
    final public void setProductFeatureIsKeyFeature(
        String productFeatureIsKeyFeature) {
        this.productFeatureIsKeyFeature = StringUtils.trim(productFeatureIsKeyFeature);

        this.productFeatureIsKeyFeatureSetted = true;

        this.setProductFeatureIsKeyFeatureNull(this.productFeatureIsKeyFeature == null);
    }

    /**
     * Get productFeatureIsKeyFeature Has Been Setted
     *
     * @return boolean
     */
    final public boolean isProductFeatureIsKeyFeatureSetted() {
        return this.productFeatureIsKeyFeatureSetted;
    }

    /**
     * Set productFeatureIsKeyFeature Null
     *
     */
    final public void setProductFeatureIsKeyFeatureNull() {
        this.productFeatureIsKeyFeatureNull = true;
    }

    final public void setProductFeatureIsKeyFeatureNull(boolean aNullFlag) {
        this.productFeatureIsKeyFeatureNull = aNullFlag;
    }

    final public boolean isProductFeatureIsKeyFeatureNull() {
        return this.productFeatureIsKeyFeatureNull;
    }

    public int hashCode() {
        final int prime = 31;
        int result = 1;

        result = (prime * result) + (int) (getId() ^ (getId() >>> 32));

        return result;
    }

    public boolean equals(Object obj) {
        if (obj == null) {
            return false;
        }

        if ((obj instanceof ProductRequirementFeatureRelate) == false) {
            return false;
        }

        ProductRequirementFeatureRelate other = (ProductRequirementFeatureRelate) obj;

        if (getId() != other.getId()) {
            return false;
        }

        return true;
    }

    public String toString() {
        StringBuffer buffer = new StringBuffer();

        buffer.append("[");

        buffer.append("id=");
        buffer.append(this.id);

        buffer.append("productRequirementId=");
        buffer.append(this.productRequirementId);

        buffer.append("productFeatureId=");
        buffer.append(this.productFeatureId);

        buffer.append("status=");
        buffer.append(this.status);

        buffer.append("remarks=");
        buffer.append(this.remarks);

        buffer.append("productRequirementCode=");
        buffer.append(this.productRequirementCode);

        buffer.append("productRequirementName=");
        buffer.append(this.productRequirementName);

        buffer.append("productRequirementContent=");
        buffer.append(this.productRequirementContent);

        buffer.append("productRequirementType=");
        buffer.append(this.productRequirementType);

        buffer.append("productRequirementLevel=");
        buffer.append(this.productRequirementLevel);

        buffer.append("productFeatureCode=");
        buffer.append(this.productFeatureCode);

        buffer.append("productFeatureName=");
        buffer.append(this.productFeatureName);

        buffer.append("productFeatureCanTest=");
        buffer.append(this.productFeatureCanTest);

        buffer.append("productFeatureIsKeyFeature=");
        buffer.append(this.productFeatureIsKeyFeature);

        buffer.append("productRequirementKind=");
        buffer.append(this.productRequirementKind);

        buffer.append("productRequirementSource=");
        buffer.append(this.productRequirementSource);

        buffer.append("productRequirementVersion=");
        buffer.append(this.productRequirementVersion);

        buffer.append("productRequirementVersionType=");
        buffer.append(this.productRequirementVersionType);

        buffer.append("productFeatureVersion=");
        buffer.append(this.productFeatureVersion);

        buffer.append("productFeatureVersionType=");
        buffer.append(this.productFeatureVersionType);

        buffer.append("productRequirementVersionId=");
        buffer.append(this.productRequirementVersionId);

        buffer.append("productRequirementVersionStatus=");
        buffer.append(this.productRequirementVersionStatus);

        buffer.append("productFeatureVersionId=");
        buffer.append(this.productFeatureVersionId);

        buffer.append("productFeatureVersionStatus=");
        buffer.append(this.productFeatureVersionStatus);

        buffer.append("]");

        return buffer.toString();
    }
}
